GtkCssProvider: Handle the "none" keyword to unset properties.
authorCarlos Garnacho <carlosg@gnome.org>
Sat, 13 Nov 2010 01:30:53 +0000 (02:30 +0100)
committerCarlos Garnacho <carlosg@gnome.org>
Sat, 4 Dec 2010 14:39:05 +0000 (15:39 +0100)
gtk/gtkcssprovider.c

index d41df05de8353810c26d8384ad5e8095f9932ab4..6aec774de93c9e7083cd5ed0dcbfbb73c6385758 100644 (file)
@@ -2644,7 +2644,12 @@ parse_rule (GtkCssProvider *css_provider,
           val = g_slice_new0 (GValue);
           g_value_init (val, prop_type);
 
-          if (prop_type == G_TYPE_STRING)
+          if (strcmp (value_str, "none") == 0)
+            {
+              /* Remove/unset the current value */
+              g_hash_table_remove (priv->cur_properties, prop);
+            }
+          else if (prop_type == G_TYPE_STRING)
             {
               g_value_set_string (val, value_str);
               g_hash_table_insert (priv->cur_properties, prop, val);